.\"
.\" Copyright (C) 2012-2014 Carnegie Mellon University
.\"
.\" This program is free software; you can redistribute it and/or modify it
.\" under the terms of version 2 of the GNU General Public License as published
.\" by the Free Software Foundation.  A copy of the GNU General Public License
.\" should have been distributed along with this program in the file
.\" COPYING.
.\"
.\" This program is distributed in the hope that it will be useful, but
.\" WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
.\" or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
.\" for more details.
.\"
.TH VMNETX 1 2014-09-18 "VMNetX @version@" "User Commands"

.SH NAME
vmnetx \- Virtual Machine Network Execution

.SH SYNOPSIS
.B vmnetx
.RI [ \ OPTIONS \ ] \ LOCATION
.\" .sp

.SH DESCRIPTION
.B vmnetx
allows virtual machines to be stored on a web server and executed
on-demand on a client system.
The entire disk and memory state are not downloaded before starting the VM;
instead, disk and memory chunks are retrieved on demand from the web server
and then cached on the client.
.B vmnetx
can also provide remote access to a virtual machine running on an execution
server.

.PP
.I LOCATION
can be the path or
.I file:
URL to a virtual machine package in the local filesystem, the
.I http:
or
.I https:
URL for a package on a remote server, or the
.I vmnetx:
URL to a virtual machine configured on a remote server.
.I vmnetx+http:
and
.I vmnetx+https:
are treated as synonyms for
.I http:
and
.I https:
respectively.

.B vmnetx
also supports
.IR reference\ files ,
which are small documents containing the URL for a remote package or
virtual machine.
If
.I LOCATION
is a path or
.I file:
URL to a reference file,
.B vmnetx
will launch the virtual machine to which the file refers.

.SH OPTIONS
.TP
.BR \-h ", " \-\^\-help
Print a usage message summarizing these options, then exit.
.TP
.B \-\^\-version
Print the version number of
.B vmnetx
and exit.

.SH EXAMPLES
.TP
.B vmnetx windows311.nxpk
Execute the virtual machine bundled in the
.I windows311.nxpk
package in the current working directory.

.TP
.B vmnetx http://example.com/windows311.nxpk
Execute the virtual machine package
.I windows311.nxpk
from the supplied URL, downloading pieces of the VM as required.

.TP
.B vmnetx vmnetx://example.com/NYE43i3PUSSDCIB8A6Fe
Connect to the
.I example.com
execution server and provide a thin-client connection to the specified
virtual machine.

.TP
.B vmnetx windows311.netx
Execute the virtual machine linked from the reference file
.I windows311.netx
in the current working directory.

.SH COPYRIGHT
Copyright 2006-2014 Carnegie Mellon University.
.PP
This program is free software; you can redistribute it and/or modify it
under the terms of version 2 of the GNU General Public License as published
by the Free Software Foundation. This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.

.SH BUGS
VMNetX's bug tracker and source repository are located at
.RB < https://github.com/cmusatyalab/vmnetx >.

.SH SEE ALSO
.BR qemu (1),
.BR qemu-kvm (1),
.BR vmnetx-generate (1),
.BR vmnetx-server (8)
.\" This is allegedly a workaround for some troff -man implementations.
.br
